/**
 * 密码难易度校验
 * @param {} str 
 * 密码中必须包含字母、数字，至少8个字符，最多16个字符
 */
const psdEDCheck = str => {
  const regex = new RegExp('(?=.*[0-9])(?=.*[a-zA-Z]).{8,20}');
  if (!regex.test(str)) {
    return true;
  }else{
    return false;
  }
};

/**
 * 字符串非空校验
 * @param {} str 校验的字符串
 */
const strNotNull = str => {
  if(str === '' || str.trim() === ''){
    return true;
  }else{
    return false;
  }
}

/**
 * 返回月份数组
 * @param year
 * @param month
 * @returns {*[]}
 */
const getMonthList = function (year, month) {
  let date = new Date();
  if(year){
      date.setFullYear(year);
      date.setMonth(month - 1);
      date.setDate(1);
      let weekIndex = (date.getDay() - 1) < 0 ? 6 : (date.getDay() - 1);
      //获取本月总天数方法---将当前月份加1，下移到下一个月
      date.setMonth(date.getMonth() + 1);
      //将当前日期置为0
      date.setDate(0);
      //再获取天数即取上一个月的最后天数
      let days = date.getDate();
      let monthList =[];
      //周几开始加上总天数，就是所生产数组的总个数
      for(let i = 0; i < (weekIndex + days); i++){
          if(weekIndex > i){
              monthList.push('');
          }else if((i) < (days + weekIndex + 1)){
              monthList.push((i + 1) - weekIndex);
          }else {
              monthList.push('');
          }
      }
      return monthList;
  }
}
module.exports={
  strNotNull: strNotNull,
  psdEDCheck: psdEDCheck,
  getMonthList: getMonthList,
}